import Vue from "vue"
import wechat from 'weixin-js-sdk'
import axios from "./http"
import store from "../store/store"
import storage from "../store/localstorage"
import config from "./config"

const wxShare = (obj, callback) => {
    function getUrl() {
        var url = window.location.href;
        var locationurl = url.split('#')[0];
        return locationurl;
    }

    function linkUrl() {
        var url = window.location.href;
        var locationurl = url.split('#')[1];
        var userinfo = storage.get('userinfo');
        var uid = ''
        if (userinfo) {
            uid = "uid=" + userinfo.member_id;
        } else {
            uid = "uid=";
        }
        if (locationurl.indexOf('?') == -1) {
            uid = '?' + uid;
        } else {
            uid = '&' + uid;
        }
        if (locationurl.charAt(0) == '/') {
            locationurl = locationurl.replace('/', '')
        }

        locationurl=locationurl.replace(/uid=/gi,'')

        return config.url + '/quick_help_wap1/#/' + locationurl + uid;
    }

    if (obj) {
        var title = obj.title == undefined || obj.title == null ? '快帮行' : obj.title;
        var link = obj.link == undefined || obj.link == null ? linkUrl() : obj.link;
        var desc = obj.desc == undefined || obj.desc == null ? '体验美好旅行生活！' : obj.desc;
        var imgUrl = obj.imgUrl == undefined || obj.imgUrl == null ? config.url + "/uploads/admin/admin_thumb/20180910/29f171bda2fd6a6e41152d6a8f86bbc3.jpg" : obj.imgUrl;
        var debug = obj.debug == true ? true : false;
    } else {
        alert('请传分享参数');
    }

    function wxConfig(data) {
        wechat.config({
            debug: obj.debug, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: data.appId, // 必填，公众号的唯一标识
            timestamp: data.timestamp + '', // 必填，生成签名的时间戳
            nonceStr: data.nonceStr, // 必填，生成签名的随机串
            signature: data.signature,// 必填，签名
            jsApiList: [
                // 所有要调用的 API 都要加到这个列表中
                'onMenuShareTimeline',//分享到朋友圈
                'onMenuShareAppMessage',//分享给朋友
                'onMenuShareQQ',//分享到QQ
                'onMenuShareQZone',//分享到QQ空间
                'onMenuShareWeibo',//分享到腾讯微博
                'getLocation',//获取地理位置
            ]
        });
    }
    
    //微信分享
    if (!store.state.wxShare.sing) {
        axios.get(config.url + '/wap/Share/index', {url: getUrl()})
            .then(res => {
                wxConfig(res.data)

                store.commit('wxShare', {sing: true, data: res.data}) //更新分享获取sing
            })
    } else {
        wxConfig(store.state.wxShare.data)
    }

    wechat.ready(function () {
        if(obj.getLocation){
             //获取地理位置
            wechat.getLocation({
                type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
                success: function (res) {
                    var latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
                    var longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
                    var speed = res.speed; // 速度，以米/每秒计
                    var accuracy = res.accuracy; // 位置精度
                    res._type = "location";
                    callback && callback(res);
                    // 用户确认分享后执行的回调函数
                }
            });
        };
        //分享到朋友圈
        wechat.onMenuShareTimeline({
            // title: '快帮行|'+title, // 分享标题
            title: (title.indexOf('快帮行|') > -1 || title.indexOf('[快帮行]') > -1 ) ? title : title.indexOf('飞拉&') > -1  ? title : '快帮行|'+title,// 分享标题
            link: link, // 分享链接
            desc: desc, // 分享描述
            imgUrl: imgUrl, // 分享图标
            success: function () {
                callback && callback();
                // 用户确认分享后执行的回调函数
            },
            cancel: function () {
                // 用户取消分享后执行的回调函数
            }
        });
        //分享到朋友
        wechat.onMenuShareAppMessage({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            type: '', // 分享类型,music、video或link，不填默认为link
            dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
            success: function () {
                // 用户确认分享后执行的回调函数
                callback && callback();
            },
            cancel: function () {
                // 用户取消分享后执行的回调函数
            }
        });
        //分享到QQ
        wechat.onMenuShareQQ({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            success: function () {
                // 用户确认分享后执行的回调函数
                callback && callback();
            },
            cancel: function () {
                // 用户取消分享后执行的回调函数
            }
        });

        //分享到QQ空间
        wechat.onMenuShareQZone({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            success: function () {
                // 用户确认分享后执行的回调函数
                callback && callback();
            },
            cancel: function () {
                // 用户取消分享后执行的回调函数
            }
        });

        //分享到腾讯微博
        wechat.onMenuShareWeibo({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接
            imgUrl: imgUrl, // 分享图标
            success: function () {
                // 用户确认分享后执行的回调函数
                callback && callback();
            },
            cancel: function () {
                // 用户取消分享后执行的回调函数
            }
        });
    })


}
export default wxShare